﻿using System;
using SharpSqlAnalyzer.pp.para.styleenums;
using SharpSqlAnalyzer.pp.processor;
using SharpSqlAnalyzer.pp.stmtformatter.type;
using SharpSqlAnalyzer.pp.stmtformatter.type.comm;

namespace SharpSqlAnalyzer.pp.stmtformatter.builder.comm
{
	// Token: 0x0200021E RID: 542
	public class DeclareStmtFormatterBuilder : AbstractStmtFormatterBuilder
	{
		// Token: 0x06001269 RID: 4713 RVA: 0x00318F30 File Offset: 0x00317130
		protected internal override void initSpecialProcessorForFormatter(AbstractStmtFormatter formatterArg)
		{
			DeclareStmtFormatter declareStmtFormatter = formatterArg as DeclareStmtFormatter;
			declareStmtFormatter.addSpecialProcessor(ProcessorFactory.createCapitalisationProcessor(this.Option));
			declareStmtFormatter.addSpecialProcessor(ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor(this.Option));
			declareStmtFormatter.addVarProcessor(ProcessorFactory.createDeclareVarItemAlignProcessor(this.Option));
			declareStmtFormatter.addVarProcessor(ProcessorFactory.appendNewLineAfterReverseKeyWordProcessor(this.Option, this.Option.linebreakAfterDeclare, "declare"));
			declareStmtFormatter.addVarProcessor(ProcessorFactory.createColumnlistCommaProcessor(this.Option, TLinefeedsCommaOption.LfAfterComma, TAlignStyle.AsStacked));
		}

		// Token: 0x0600126A RID: 4714 RVA: 0x00318FA9 File Offset: 0x003171A9
		protected internal override AbstractStmtFormatter newInstanceFormatter()
		{
			return new DeclareStmtFormatter();
		}
	}
}
